package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 *  奖罚员工信息表
 *
 */
@Data
@TableName("tb_award_info")
public class AwardInfoAndApplicantDto implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * id
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 流水号
		 */
			private String serialNum;
			/**
		 * 员工工号
		 */
			private String employeeCode;
			/**
		 * 员工姓名
		 */
			private String employeeName;
			/**
		 * 员工公司
		 */
			private String orgname;
			/**
		 * 员工部门
		 */
			private String unitname;
			/**
		 * 奖罚事项
		 */
			private String awardRemark;
			/**
		 * 奖罚类型 0 . 奖励 1 罚款
		 */
			private Integer awardType;
			/**
		 * 奖罚金额
		 */
			private BigDecimal amount;
			/**
		 * 比例1
		 */
			private BigDecimal proportionOne;
			/**
		 * 金额1
		 */
			private BigDecimal amountOne;
			/**
		 * 兑换月份1
		 */
			private Date monthOne;
			/**
		 * 比例2
		 */
			private BigDecimal proportionTwo;
			/**
		 * 金额2
		 */
			private BigDecimal amountTwo;
			/**
		 * 月份2
		 */
			private Date monthTwo;
			/**
		 * 备注
		 */
			private String remark;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 员工Id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;
			/**
		 * 公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long orgId;
			/**
		 * 部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;
			/**
		 * 职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long jobId;
	/**
	 * 奖罚分配id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long distributionId;

	/**
	 * 申请人id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long applicantId;
	/**
	 * 申请人姓名
	 */
	private String applicantName;
	/**
	 * 申请人部门
	 */
	private String department;
	/**
	 * 申请工号
	 */
	private String usercode;
	/**
	 * 审批状态 0未审批 1审批中 2 已审批 3作废
	 */
	private Integer approvalStatus;
	/**
	 * 分配状态  0未分配  1 分配中  2已分配
	 */
	private Integer distributionStatus;
	/**
	 * 是否删除
	 */
	private Integer isDelete;
	/**
	 * 附件
	 */
	private String url;
	/**
	 * 插入时间
	 */
	private Date insetDate;
	/**
	 * 创建人 code
	 */
	private String createCode;

	/**
	 * bpm地址
	 */
	private String bpmUrl;

	/**
	 * 预留金额
	 */
	private BigDecimal reservedAmount;
	/**
	 * 预留类型
	 */
	private Integer reservedType;
	/**
	 * 奖罚包名称
	 */
	private String awardName;
	/**
	 * 奖罚部门
	 */
	private String awardUnitname;
	/**
	 * 奖罚人员
	 */
	private String awardPersonnel;
	/**
	 * 奖励种类
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long type;

	/**
	 * 分配金额
	 */
	private BigDecimal distributionAmount;

}
